10 REM********************************* 20 REM* * 30 REM* DEMO PROGRAM FOR HIRES * 40 REM* ROUTINES * 50 REM* * 60 REM********************************* 70 REM 80 REM 90 IF A=0THEN A=1:LOAD "HIRES.MC",8,1 100 AD=49152 110 SH=AD:REM SET UP HIRES 120 TX=AD+3:REM TEXT RESTORE 130 CH=AD+6:REM CLEAR SCREEN 140 CC=AD+9:REM CLEAR COLOUR 150 PH=AD+12:REM PLOT HIRES 160 PC=AD+15:REM PLOT COLOUR 170 PB=AD+18:REM PLOT BOTH 172 LD=AD+21:REM PLOT LINE 174 HL=AD+24:REM HORIZ LINE 176 VL=AD+27:REM VERT LINE 178 DB=AD+30:REM BOX DRAW 180 XL=251:REM X LOW 190 XH=252:REM X HIGH 200 YL=253:REM Y COORD 202 X1=14:REM END X LOW 204 X2=15:REM END X HIGH 206 Y1=255:REM END Y 210 CB=2:REM COLOUR BYTE 220 PX=254:REM PLOT INDICATOR 230 REM 240 REM MENU 250 REM 260 PRINT "[147]" 270 PRINT "[158] LINE DRAWING DEMO" 280 PRINT:PRINT TAB(10);"1. RANDOM LINES" 290 PRINT:PRINT TAB(10);"2. RANDOM BOXES" 300 PRINT:PRINT TAB(10);"3. BOTH TOGETHER" 310 PRINT:PRINT TAB(10);"[158]ENTER OPTION" 312 PRINT:PRINT "NOTE: THIS PROGRAM IS ONLY INTENDED" 314 PRINT "AS AN ILLUSTRATION. IT MAY CRASH" 316 PRINT "OCCASIONALLY AS THE HI-RES ROUTINES" 318 PRINT "USE SOME OF THE SAME LOCATIONS AS BASIC":PRINT 320 GET I$:IF I$="" THEN 320 330 IF I$>"3" OR I$<"1" THEN 320 331 I=VAL(I$) 340 ON I GOSUB 1000,2000,3000 360 SYS TX:GOTO 260 900 REM 910 REMRANDOM LINES 920 REM 1000 POKE PX,255:SYS SH 1010 GOSUB 5000:SYS LD 1020 GET I$:IF I$="" THEN 1010 1030 RETURN 1900 REM 1910 REM RANDOM BOXES 1920 REM 2000 POKE PX,255:POKE CB,67:SYS SH 2010 GOSUB 5000:SYS DB 2020 GET I$:IF I$="" THEN 2010 2030 RETURN 2090 REM 2100 REM DO BOTH 2110 REM 3000 POKE PX,255:POKE CB,67:SYS SH 3010 GOSUB 5000:SYS LD:GOSUB 5000:SYS DB 3020 GET I$:IF I$="" THEN 3010 3030 RETURN 4900 REM 4910 REM SET UP COORDS 4920 REM 5000 POKE PX,255:X=INT(RND(1)*319) 5010 POKE XL,X-INT(X/256)*256:POKE XH,INT(X/256) 5020 X=INT(RND(1)*319) 5030 POKE X1,X-INT(X/256)*256:POKE X2,INT(X/256) 5040 POKE YL,INT(RND(1)*199):POKE Y1,INT(RND(1)*199) 5050 RETURN